Titanium SDK

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca
Titanium SDK
software
Logo
Logo
GenereApplication framework, Framework per applicazioni mobili (non in lista)
SviluppatoreTiDev, Inc.
Data prima versione9 marzo 2010
Ultima versione12.3.0.GA (16 febbraio 2024[1])
Sistema operativomacOS
Microsoft Windows
Linux
iOS, Android, multipiattaforma
LinguaggioObjective C
JavaScript
Java
YAML, C++, JSON, EJS
LicenzaApache Public License v2
(licenza libera)
Sito webTitanium SDK

Titanium SDK è un framework open source che consente la creazione di applicazioni mobili native su piattaforme iOS e Android da un'unica codebase JavaScript.[2] Titanium SDK è attualmente sviluppato dalla fondazione software senza scopo di lucro TiDev, Inc.[3][4][5][6][7][8]

Nel febbraio 2013, Business Insider ha stimato che il 10% di tutti gli smartphone in tutto il mondo esegue app realizzate con Titanium.[9] Dal 2017, Titanium aveva accumulato oltre 950.000 registrazioni di sviluppatori.[10]

Il componente principale dell'ecosistema software Titanium è il kit di sviluppo software con licenza Apache, Titanium SDK. Alloy, un framework model-view-controller basato su Titanium, è un progetto correlato attualmente gestito e sviluppato da TiDev, Inc per l'utilizzo con Titanium SDK, che consente di semplificare e velocizzare lo sviluppo.

Titanium SDK è stato originariamente sviluppato e gestito da Appcelerator, Inc, poi successivamente da Axway, Inc dopo che Axway ha acquistato Appcelerator nel 2016.[8] Oggi il Titanium SDK e i progetti correlati sono mantenuti dagli sviluppatori sotto la direzione della società senza scopo di lucro dell'Alabama TiDev, Inc. con sede a Centreville, Alabama.[11]

Architettura[modifica | modifica wikitesto]

Le caratteristiche principali di Titanium SDK includono:

  • API multipiattaforma per l'accesso a componenti nativi dell'interfaccia utente come barre di navigazione, menu, finestre di dialogo e funzionalità native del dispositivo, inclusi file system, rete, geolocalizzazione, notifiche, accelerometro e mappe.
  • Le funzionalità non incluse nelle API, possono essere aggiunte con Hyperloop e con i moduli nativi.
  • Il framework Alloy basato sul paradigma MVC.

Tutto il codice sorgente dell'applicazione viene distribuito sul dispositivo mobile dove viene interpretato[12] utilizzando un motore JavaScript; Rhino di Mozilla viene utilizzato su Android e BlackBerry e JavascriptCore di Apple viene utilizzato su iOS.[13] Nel 2011 è stato annunciato che era in fase di sviluppo un porting per il motore JavaScript V8 di Google che, una volta completato, avrebbe migliorato significativamente le prestazioni.[14] Il caricamento del programma richiede più tempo rispetto ai programmi sviluppati con gli SDK nativi, poiché l'interprete e tutte le librerie richieste devono essere caricate prima che possa iniziare l'interpretazione del codice sorgente sul dispositivo.

Titanium fornisce API per:

  • Utilizzo di funzionalità hardware specifiche, come i pulsanti del menu Android
  • Uso di controlli specifici del sistema operativo, come i controlli dell'interfaccia utente di Cocoa su iOS
  • Partecipazione all'ecosistema della piattaforma, ad esempio utilizzando i meccanismi di notifica delle specifiche piattaforme

Storia[modifica | modifica wikitesto]

Quando è stato introdotto nel dicembre 2008, Titanium era destinato allo sviluppo di applicazioni desktop multipiattaforma ed è stato talvolta paragonato ad Adobe Air.[15][16] Tuttavia, ha aggiunto il supporto per lo sviluppo di applicazioni mobili per iPhone e Android nel giugno 2009 e nel 2012 Titanium Desktop è stato scorporato in un progetto separato guidato dalla comunità chiamato TideSDK.[17][18] Il supporto per lo sviluppo di app per tablet basate su iPad è stato aggiunto nell'aprile 2010.[19] Il supporto BlackBerry è stato annunciato nel giugno 2010,[20] ed è stato in versione beta da aprile 2013. Il supporto di Tizen è stato aggiunto anche nell'aprile 2013 con le versioni 3.1.0 Titanium Studio e SDK. L'ultima aggiunta alla piattaforma nel 2016 è stata Hyperloop, una tecnologia per accedere alle API native su iOS, Android e Windows con JavaScript.[21]

Nell'aprile 2010, Appcelerator ha ampliato la linea di prodotti Titanium con Titanium Tablet SDK. Titanium Tablet SDK attinge in gran parte dal supporto esistente per iPhone, ma include anche il supporto nativo per i controlli dell'interfaccia utente solo per iPad, come la suddivisione delle finestre e le popover. Inizialmente l'SDK mobile supportava solo lo sviluppo per iPad, ma ora il supporto include anche i tablet basati su Android.

Nel giugno 2011, Appcelerator ha rilasciato Studio e Titanium Mobile 1.7.[22] Studio è un IDE standard completamente aperto derivato da Aptana Studio che Appcelerator ha acquisito nel gennaio 2011.

Nel giugno 2013, Jeff Haynie, CEO di Appcelerator, ha annunciato che la società aveva avviato Ti.Next, un progetto per riscrivere Titanium SDK in Javascript per migliorare le prestazioni e avvicinare gli utenti finali di Titanium, che scrivono in Javascript, al codice interno.[23] In un post sul blog, ha scritto:

Riteniamo che JavaScript dovrebbe essere il linguaggio giusto per sviluppare Titanium, non solo app con Titanium SDK. Con Ti.Next, abbiamo creato un piccolo progetto di microkernel che ci consentirà di avere un codice di bootstrap minimo nel linguaggio nativo (C, Java, C#, ecc.) che dialoga con un set comune di compilatori, strumenti e una singola macchina virtuale JavaScript. Abbiamo trovato un modo per far funzionare la VM WebKit KJS su più piattaforme invece di utilizzare macchine virtuali diverse per piattaforma. Ciò significa che possiamo ottimizzare pesantemente il microkernel (di seguito chiamato "TiRuntime") e la manutenzione, le ottimizzazioni e la profilazione possono essere notevolmente semplificate. Stiamo parlando di ~5K LOC contro 100K LOC per piattaforma.[24]

Nel gennaio 2016, Appcelerator è stata acquisita da Axway, una società di software globale con oltre 11.000 clienti del settore pubblico e privato in 100 paesi.[25] Da allora, i piani Indie sono stati nuovamente resi gratuiti, incluso l'accesso API nativo con Hyperloop.[26]

Versioni[modifica | modifica wikitesto]

Versione (dal 2021) Data di uscita[1]
9.3.1. GA 25 gennaio 2021
9.3.2. GA 11 febbraio 2021
10.0.0. GA 17 maggio 2021
10.0.1. GA 28 luglio 2021
10.0.2. GA 10 agosto 2021
10.1.0. GA 28 settembre 2021
10.1.1. GA 19 novembre 2021
11.0.0. GA 1 luglio 2022
11.1.0. GA 8 settembre 2022
11.1.1. GA 26 settembre 2022
12.0.0. GA 30 dicembre 2022
12.1.0. GA 24 aprile 2023
12.1.1.GA 28 aprile 2023
12.1.2.GA 2 giugno 2023
12.2.0.GA 15 settembre 2023
12.2.1.GA 9 ottobre 2023
12.3.0.GA 16 febbraio 2024

Caratteristiche notevoli[modifica | modifica wikitesto]

Integrazione Angular[modifica | modifica wikitesto]

Da aprile 2018 è possibile utilizzare Angular 6 in combinazione con Titanium per sviluppare app mobili.[27][28]

Integrazione Vue.js[modifica | modifica wikitesto]

Oltre all'integrazione Angular è anche possibile utilizzare Vue.js (a partire da maggio 2018) come framework per sviluppare app.[29][30]

Supporto ES6[modifica | modifica wikitesto]

Titanium supporta le funzionalità di ES6 a partire dall'SDK 6.1.0 come le Classi, le arrow function e altro ancora.[31]

Hyperloop[modifica | modifica wikitesto]

Hyperloop[32] consente all'utente di accedere al codice nativo (Java, Objective-C, Swift, C#) all'interno di JavaScript e utilizzare librerie di terze parti.

App native[modifica | modifica wikitesto]

Con Titanium SDK le app compilate utilizzano componenti dell'interfaccia utente nativi attraverso il tuo codice JavaScript. Il vantaggio è che si avrà la migliore esperienza utente su ogni piattaforma poiché si utilizzano elementi nativi invece di creare elementi personalizzati.

Codice riutilizzabile[modifica | modifica wikitesto]

Uno degli obiettivi di Titanium è riutilizzare quanto più codice possibile per le varie piattaforme. Esiste un elevato livello di parità di componenti e l'utilizzo del framework Alloy MVC consente di condividere fino al 90% del codice su tutte le piattaforme.[33] D'altra parte, si possono integrare funzionalità specifiche della piattaforma in modo molto semplice.

<Alloy>
    <Window title="Titolo della finestra">
        <ActionBar id="actionbar" title="Android Actionbar" platform="android"/>
        <Label id="label">Benvenuto!</Label>
    </Window>
</Alloy>

Esempio basilare di una finestra con una barra delle azioni Android (che sarà nascosta su iOS).

Note[modifica | modifica wikitesto]

  1. ^ a b c (EN) GA Release of Titanium SDK 12.3.0GA, su titaniumsdk.com, 16 febbraio 2024. URL consultato il 18 febbraio 2024.
  2. ^ (EN) SDK version setting precedence, su titaniumsdk.com. URL consultato il 4 gennaio 2023.
  3. ^ Creating Mobile Apps with Appcelerator Titanium, 1ª ed., p. 318, ISBN 978-1-84951-926-7 (archiviato dall'url originale il 2 agosto 2014).
  4. ^ Appcelerator Titanium Business Application Development Cookbook, 1ª ed., p. 328, ISBN 978-1-84969-534-3 (archiviato dall'url originale l'11 gennaio 2015).
  5. ^ Augmented Reality using Appcelerator Titanium Starter [Instant], 1ª ed., p. 52, ISBN 978-1-84969-390-5 (archiviato dall'url originale il 22 gennaio 2014).
  6. ^ Building iPhone Applications with Titanium, 1ª ed., p. 352, ISBN 978-0-470-66083-6 (archiviato dall'url originale il 29 aprile 2012).
  7. ^ Appcelerator Titanium: Patterns and Best Practices, 1ª ed., p. 110, ISBN 978-1-84969-348-6 (archiviato dall'url originale il 27 agosto 2013).
  8. ^ a b Appcelerator Titanium Smartphone App Development Cookbook, 1ª ed., p. 308, ISBN 978-1-84951-396-8 (archiviato dall'url originale l'11 novembre 2013).
  9. ^ (EN) Julie Bort, Microsoft Might Buy A Startup That Powers 10 Percent Of The World's Smartphones, su businessinsider.com, 1º febbraio 2013. URL consultato il 18 febbraio 2024.
  10. ^ (EN) Appcelerator, su appcelerator.com. URL consultato il 18 febbraio 2024 (archiviato dall'url originale il 30 dicembre 2014).
  11. ^ (EN) Mike Hobson, Titanium Mobile Development Software Finds a New Home In Central Alabama, su bibbvoice.com, 1º maggio 2022. URL consultato il 4 gennaio 2023.
  12. ^ (EN) Is Appcelerator Titanium Mobile really a Cross-Compiler?, su developer.appcelerator.com. URL consultato il 18 febbraio 2024 (archiviato dall'url originale l'8 gennaio 2013).
  13. ^ (EN) Kevin Whinnery, Titanium Guides Project: JS Environment, su developer.appcelerator.com, 1º dicembre 2010. URL consultato il 18 febbraio 2024 (archiviato dall'url originale il 19 ottobre 2013).
    «Titanium runs your application's JavaScript using one of two JavaScript interpreters – JavaScriptCore on iOS (the interpreter used by Webkit) and Mozilla Rhino on Android and BlackBerry.»
  14. ^ (EN) Don Thorp, Platform Engineering: Android Runtime Performance Improvements, su developer.appcelerator.com, 7 settembre 2011. URL consultato il 18 febbraio 2024 (archiviato dall'url originale il 7 giugno 2013).
  15. ^ (EN) Appcelerator Raises $4.1 Million for Open Source RIA Platform, su techcrunch.com, 9 dicembre 2008. URL consultato il 18 febbraio 2024.
  16. ^ (EN) Darryl K. Taft, Appcelerator Takes On Adobe AIR with Titanium, su eweek.com, 9 dicembre 2008. URL consultato il 18 febbraio 2024.
  17. ^ (EN) Kevin Whinnery, Appcelerator Developer Blog – The Future of Titanium Desktop, su developer.appcelerator.com, 20 gennaio 2012. URL consultato il 18 febbraio 2024 (archiviato dall'url originale l'11 ottobre 2013).
  18. ^ (EN) Paul Krill, Appcelerator enables iPhone, Android app dev, su infoworld.com, 8 giugno 2009. URL consultato il 18 febbraio 2024.
  19. ^ (EN) Christina Warren, Appcelerator Simplifies iPad App Development, su Mashable, 5 aprile 2010. URL consultato il 18 febbraio 2024 (archiviato dall'url originale il 10 aprile 2016).
  20. ^ (EN) Mauricio, Appcelerator Announces Titanium Mobile Beta Support For BlackBerry [News], su blackberryrocks.com, 6 maggio 2010. URL consultato il 18 febbraio 2024 (archiviato dall'url originale il 9 maggio 2010).
  21. ^ (EN) Jeff Haynie, Hyperloop is Here, su appcelerator.com, 11 agosto 2016. URL consultato il 18 febbraio 2024 (archiviato dall'url originale il 6 settembre 2016).
  22. ^ (EN) Sarah Perez, Appcelerator Launches Titanium Studio: Mobile, Desktop & Web Development in One, su readwriteweb.com, 13 giugno 2011. URL consultato il 18 febbraio 2024 (archiviato dall'url originale il 13 settembre 2015).
  23. ^ (EN) Martin Monroe, Ti.Next-What’s It All About Appcelerator?- Part 2 of 2, su InfoQ, 10 agosto 2013. URL consultato il 18 febbraio 2024.
  24. ^ (EN) Jeff Haynie, Thoughts on Ti.Next, su appcelerator.com, 3 luglio 2013. URL consultato il 18 febbraio 2024 (archiviato dall'url originale il 23 dicembre 2018).
  25. ^ (EN) Jeff Haynie, Axway Acquires Appcelerator—And Why This is Great News for All, su appcelerator.com, 17 gennaio 2016. URL consultato il 18 febbraio 2024 (archiviato dall'url originale il 23 dicembre 2018).
  26. ^ (EN) Brad Hipps, Appcelerator Indie Plans Are Now Free! And Wait, There’s More…, su appcelerator.com, 2 maggio 2017. URL consultato il 18 febbraio 2024 (archiviato dall'url originale il 25 marzo 2019).
  27. ^ (EN) titanium-angular, su github.com. URL consultato il 18 febbraio 2024.
  28. ^ (EN) Jan Vennemann, Titanium Angular Technical Preview Release Now Available, su Axway Developer Blog, 23 aprile 2018. URL consultato il 18 febbraio 2024.
  29. ^ (EN) Jason Kneen, Global App Events in Titanium Using Backbone.js, su Axway Developer Blog, 8 marzo 2018. URL consultato il 18 febbraio 2024.
  30. ^ (EN) titanium-vue, su github.com. URL consultato il 18 febbraio 2024.
  31. ^ (EN) Darren Mason, Using ES6+ in a Titanium App, su Axway Developer Blog, 20 giugno 2018. URL consultato il 18 febbraio 2024.
  32. ^ (EN) Hyperloop, su appcelerator.com. URL consultato il 18 febbraio 2024 (archiviato dall'url originale il 4 agosto 2019).
  33. ^ (EN) Products, su appcelerator.com. URL consultato il 18 febbraio 2024 (archiviato dall'url originale il 5 agosto 2019).

Voci correlate[modifica | modifica wikitesto]

Collegamenti esterni[modifica | modifica wikitesto]

  Portale Aziende: accedi alle voci di Wikipedia che trattano di aziende